class Cat{
    // readonly 只读属性 
    // 如果给属性添加了 readonly修饰符 这个属性无法被赋值 
    // 而且属性必须在声明的时候或者在构造函数中赋值
    readonly name:string = '加菲猫' //都可以
    // type:string
    constructor(public type:number){ //public type 可以省去上面和下面的的相当是一个简写
        // this.type = type
        this.name = '狗猫' //都可以
    }
}


let cat = new Cat(2);
cat.type //这里可以访问到
// cat.name = '野猫' 只读属性并无法被赋值